Methods and systems for carrier activation using information from an existing profile

ABSTRACT

A platform included in a device can be configured to execute instructions to operate the device. The platform can be configured to setup connectivity to a network provided by a data service provider by having an activated account with the data service provider. To activate the account, the platform can be configured to determine that subscription information requested by the data service provider is included in an existing profile associated with the device. Responsive to the determination the subscription information is included in the profile, the platform can be configured to provide information from the profile as the subscription information to activate the account with the data service provider and receive subscriber-level connectivity to the network.

BACKGROUND

Unless otherwise indicated herein, the materials described in thissection are not prior art to the claims in this application and are notadmitted to be prior art by inclusion in this section.

A mobile device such as a phone or tablet can be configured to access acarrier's data network. For example, the device can be configured toallow access to the carrier's website to purchase or add data service tothe device, but otherwise prevent access to the Internet. For example, awarm SIM (subscriber identity module) can be provided by the carrier andincluded with the device with instructions to allow the device toutilize the carrier's network only to access the carrier's billingwebsite. When the user of the device is directed to the carrier'swebsite, the user may provide subscription information (e.g., identityand/or payment information) to the carrier to activate an account andreceive data connectivity through the carrier's network.

SUMMARY

In one example, a method is provided that comprises determining, by aplatform configured to operate a device, a profile associated with thedevice. The method further comprises determining a data service providerbased on configuration instructions included in a memory accessible bythe platform. The device may be configured to communicate via a networkprovided by the data service provider based on the device beingassociated with an activated account with the data service provider. Theactivation of the account with the data service provider authorizes thedevice to receive subscriber-level connectivity to the network. Themethod further comprises receiving, by the platform, a request from thedata service provider for subscription information to activate theaccount associated with the device. The method further comprisesdetermining that the subscription information requested by the dataservice provider is included in the determined profile associated withthe device. Responsive to determining that the subscription informationis included in the profile, the method further comprises providinginformation from the profile to the data service provider as thesubscription information. The method further comprises receiving thesubscriber-level connectivity to the network based on the device beingassociated with the activated account with the data service provider.

In another example, a device is provided that comprises a networkcommunication interface configured to provide connectivity to a networkprovided by a data service provider based on the device being associatedwith an activated account with the data service provider. Activation ofthe account with the data service provider authorizes the device toreceive subscriber-level connectivity to the network. The device furthercomprises an input interface configured to receive input pertaining to aprofile associated with the device. The device further comprises one ormore processors and data storage configured to store instructionsexecutable by the one or more processors. The instructions cause thedevice to determine the data service provider based on configurationinstructions included in the data storage, receive a request from thedata service provider for subscription information to activate to theaccount, determine that the subscription information is included in thedetermined profile, responsive to the determination that thesubscription information is included in the profile provide informationfrom the profile to the data service provider as the subscriptioninformation, and receive via the network communication interface thesubscriber-level connectivity to the network based on the device beingassociated with the activated account with the data service provider.

In another example, a computer readable medium is provided. The computerreadable medium can have instructions stored therein that when executedby a computing device cause the computing device to perform functions.The functions comprise determining, by a platform configured to operatethe computing device, a profile associated with the computing device.The functions further comprise determining a data service provider basedon configuration instructions included in a memory accessible by theplatform. The computing device may be configured to communicate via anetwork provided by the data service provider based on the computingdevice being associated with an activated account with the data serviceprovider. The activation of the account with the data service providerauthorizes the computing device to receive subscriber-level connectivityto the network. The functions further comprise receiving, by theplatform, a request from the data service provider for subscriptioninformation to activate the account associated with the computingdevice. The functions further comprise determining that the subscriptioninformation requested by the data service provider is included in thedetermined profile associated with the computing device. Responsive todetermining that the subscription information is included in theprofile, the functions further comprise providing information from theprofile to the data service provider as the subscription information.The functions further comprise receiving the subscriber-levelconnectivity to the network based on the computing device beingassociated with the activated account with the data service provider.

These as well as other aspects, advantages, and alternatives, willbecome apparent to those of ordinary skill in the art by reading thefollowing detailed description, with reference where appropriate to theaccompanying figures.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 is a block diagram of an example system including a deviceconfigured to receive access to a network via a data service provider.

FIG. 2 is a block diagram of an example system including a deviceconfigured to receive access to one or more networks via one or moredata service providers.

FIG. 3 is a block diagram of an example method for operating an exampledevice to setup connectivity to a network provided by a data serviceprovider, in accordance with at least some embodiments described herein.

FIG. 4 is a block diagram of an example method for setup of an exampledevice to determine a profile, and activation of an account with a dataservice provider using information from the determined profile toreceive connectivity to a network provided by the data service provider,in accordance with at least some embodiments described herein.

FIG. 5 is a block diagram of an example method for operating an exampledevice to setup connectivity to a network provided by a data serviceprovider by providing instructions to a server that cause the server toprovide subscription information to the data service provider, inaccordance with at least some embodiments described herein.

FIG. 6 is a block diagram of an example method for operating an exampledevice to setup connectivity to a network provided by a data serviceprovider and obtain a configuration package of the data serviceprovider.

FIG. 7 depicts an example computer-readable medium configured accordingto at least some embodiments described herein.

DETAILED DESCRIPTION

The following detailed description describes various features andfunctions of the disclosed systems and methods with reference to theaccompanying figures. In the figures, similar symbols identify similarcomponents, unless context dictates otherwise. The illustrative system,device and method embodiments described herein are not meant to belimiting. It may be readily understood by those skilled in the art thatcertain aspects of the disclosed systems, devices and methods can bearranged and combined in a wide variety of different configurations, allof which are contemplated herein.

Some mobile devices such as smartphones and tablets collect profileinformation from the user of the device. For example, during setup ofthe device, the device may collect information such as username,password, first name, last name, form of payment, and/or billingaddress, for inclusion into the profile. In another example, thecollected information may be added to the profile during setup of anonline service such as an online application store or an email accountby the user of the device. In some cases, the profile that includes thecollected information may include subscription information that acarrier requires to authorize access to the carrier's network. However,the user of the device may be required to enter this information duringsetup of the device via the device's native platform, and again duringsetup of the carrier data service via the carrier's web platform.

An electronic device can include a native platform configured to executeinstructions from one or more applications to operate the electronicdevice. The electronic device can be configured to receive connectivityto a network via a data service provider based on the electronic devicehaving an activated account with the data service provider. In exampleswhere the electronic device does not have the activated account, thedata service provider may request subscription information from thedevice to activate the account or to create a new activated account forthe device. Within examples described herein, a device is provided thatincludes a native platform configured to operate the device and toprovide the subscription information to the data service provider frominformation included in a profile associated with the device. The devicecan be, for example, a digital camera, computing device, wearabledevice, mobile device, cellular phone, tablet, etc. Thus, for example, auser of the device can activate the account without entering theinformation in the profile again for submission to the data serviceprovider. Additionally to entering the information only once, in someexamples, the user will not be required to interact with an applicationor website other than the native platform of the device for provision ofthe subscription information. In other examples, the native platform ofthe device may automatically populate the user interface of the dataservice provider (e.g., billing website) with the information in theprofile as the subscription information required by the data serviceprovider to authorize access to the carrier's network.

In some examples, the data service provider may request the device toobtain a configuration package of the data service provider (e.g.,carrier-specific service provider application). For example, theconfiguration package may include operating instructions (e.g.,communication protocol, encoding instructions, etc.) for the platform tocommunicate over the data service provider's network. Thus, the devicemay obtain the configuration package from various locations. In oneexample, the configuration package may be obtained from a memoryincluded in the device (e.g., internal flash memory, etc.) or a memoryremovably mounted to the device (e.g., Subscriber Identity Module (SIM)card, USB drive, etc.). In another example, the configuration packagemay be obtained via the network provided by the data service provider.For example, the data service provider may authorize the device toaccess a server that includes the configuration package. In yet anotherexample, the configuration package may be obtained via an alternativenetwork other than the network provided by the data service provider,such as a Wifi network or a Local Area Network (LAN) that the device hasaccess to. For example, the device may be a tablet that can accessmultiple networks including the network of the data service provider anda second network (e.g., Wifi Internet connection). In this example, thedevice may search for the configuration package, for example, in theinternet accessible via the second network to obtain the configurationpackage.

FIG. 1 is a block diagram of an example system 100 including a device110 configured to receive access to a network 140 via a data serviceprovider 130. The device 110 can be configured to communicate with thedata service provider 130 via a communication signal 102. Thecommunication signal 102 can be, for example, a wireless or wiredsignal. For example, the device 110 may comprise a cellular phone andthe communication signal 102 may comprise a wireless signal between thesmartphone and the data service provider 130 (e.g., cellular servicecarrier). Alternatively, in some examples, the device 110 may comprise apersonal computer and the communication signal 102 may comprise a wiredsignal over an Ethernet port. The system 100 can optionally include aserver 150 in communication with the device 110 and/or the data serviceprovider 130. The system 100 can optionally include a subscriberidentity module (SIM) 160 configured to be removably mounted to thedevice 110.

The device 110 includes a communication interface 112 configured toprovide the device 110 with connectivity to one or more networks. Thedevice 110 also includes an input interface 114, such as a keyboard,mouse, buttons, touchscreen display, etc. The device 110 also includes aprocessor 116 and a memory 118 comprising instructions executable, via aplatform 122, by the processor 116 to operate the device 110. The memory118 can include the platform 122 and a profile 120.

The device 110 may comprise a computing device such as a cellular phone,smartphone, digital assistant, digital electronic device, digitalcamera, body-mounted computing device (e.g., eye-glasses with computingcapability), tablet device, or any other computing device configured toreceive connectivity to one or more networks via the communicationinterface 112. Although not illustrated in FIG. 1, the device 110 caninclude additional components, such as a display, a camera, an inputport (e.g., Universal Serial Bus port), or any other physical componentconfigured, based on instructions from the platform 122 executable bythe processor 116, to operate the device 110.

The communication interface 112 can be configured to provide theconnectivity between the device 110 and one or more networks. Forexample, the communication interface 112 can include circuitry coupledwith one or more antennae to communicate wirelessly over a wirelessmedium (e.g., Bluetooth, Wifi, Broadband, etc.) or circuitry coupledwith a communication port to communicate over a wired medium (e.g.,Ethernet, etc.). The communication interface 112 can be configured toreceive instructions and/or information for transmission to/from remotedevices and/or systems. For example, the communication interface 112 canbe configured to receive instructions from the platform 122 tocommunicate information via the communication signal 102 with the dataservice provider 130. Additionally or alternatively, in some examples,the communication interface 112 can be configured to receive requestsand/or information from the remote devices and/or systems (e.g., fromdata service provider 130).

The input interface 114 can be configured to receive input for thedevice 110 for processing by the processor 116 based on instructionsprovided by the platform 122. The input interface 114 can include, forexample, circuitry coupled to one or more keyboards, buttons,microphones, touchpads, touch-screen displays, or any other componentconfigured to provide input to the device 110. Although illustrated inFIG. 1 that the input interface 114 is included in the device 110, insome examples, the input interface 114 can be an external component. Forexample, the input interface 114 can be a wireless keyboard configuredto provide signals via the communication interface 112 (e.g., viaBluetooth) that correspond to input for the device 110.

The processor 116 included in the device 110 may comprise one or moreprocessors configured to execute instructions from the platform 122 tooperate the device 110. The memory 118 can include one or more memories(e.g., flash memory, Random Access Memory (RAM), solid state drive, diskdrive, etc.) that include software components configured to provideinstructions pertaining to operation of the device 110. In someexamples, the memory 118 can include a data storage memory configured tostore data pertaining to the device 110 such as the profile 120.Additionally or alternatively, in some examples, the memory 118 caninclude a program logic memory (e.g., RAM) that includes the platform122. Additionally or alternatively, the memory 118 may comprise a modulethat can be removably mounted to the device 110 (e.g., SIM 160, USBDrive, etc.). In some examples, the memory 118 can be one physicalcomponent configured to store data and/or application componentsdescribed above. In other examples, the memory 118 can be more than onephysical component configured to store data and/or applicationcomponents described above. Additionally, the memory 118 can includemore software components than illustrated in FIG. 1. For example, thememory 118 can include one or more applications (e.g., emailapplication, phonebook application, etc.) configured to provideoperating instructions to the platform 122 to operate the device 110. Inanother example, the memory 118 can include one or more applicationprogramming interfaces (APIs) configured to interface between theplatform 122 and the communication interface 112, the server 150, and/orthe data service provider 130.

The profile 120 includes information associated with the device 110and/or a user of the device 110. For example, the profile 120 caninclude identity information (e.g., first name, last name, home address,username, password, etc.) and/or payment information (e.g., credit cardnumber, bank account number, billing address, etc.). In some examples,the information in the profile 120 can be obtained during setup of thedevice 110. For example, the device 110 can be configured to receiveinput via the input interface 114 corresponding to the information inthe profile 120 when the user of the device 110 sets up the device 110for the first time and/or resets the device 110. In another example, theuser of the device 110 can input the information in the profile 120 at atime other than during setup of the device 110, such as when there is achange in the information (e.g., new credit card number, new address,etc.) or any other time. In yet another example, the user of the device110 can input the information in the profile 120 during setup of anonline service such as an online store or an email account. In someexamples, the device 110 can be configured to store the profile 120including the received information from the input interface 114 in thememory 118.

The platform 122 executes operating instructions to operate, via theprocessor 116, the device 110. In some examples, the platform 122 can bea native platform (e.g., platforms that operate smartphones, tablets,etc.) accessible by other software components included in the memory 118and configured to execute instructions pertaining to operation of thedevice 110. For example, the platform 122 can execute instructions toreceive input from the input interface 114 and include the receivedinput in the profile 120, or display output to a display panel (notshown in FIG. 1). Additionally or alternatively, in some examples, theplatform 122 can be an operating system of the device 110. In someexamples, the platform 122 can be configured to determine the profile120. For example, the platform 122 can be configured to receive thestored profile 120 from the memory 118 as described above. In someexamples, the platform 122 can be configured to create and/or obtain theprofile 120 based on input received via the input interface 114.

In some examples, the device 110 can be configured to communicate viathe communication signal 102 with the data service provider 130 toreceive subscriber-level connectivity to the network 140. For example,the subscriber-level connectivity may include authorized access forcommunication with other devices over the network. In some examples, thedata service provider 130 may provide limited connectivity (e.g., onlyto a billing website of the data service provider 130) until receivingsubscription information from the device 110, and then providesubscriber-level connectivity after receiving the subscriptioninformation and activating an account for the device 110. The dataservice provider 130 may comprise a communication system external to thedevice 110. For example, the data service provider 130 may comprise acellular network carrier. Although not illustrated in FIG. 1, in someexamples, the data service provider 130 can include a gateway configuredto control subscriber-level connectivity by the device 110 to thenetwork 140. The data service provider 130 can control aspects (e.g.,service type) of the connectivity between the device 110 and the network140 such as maximum bit rate of data connectivity or voice call qualityof voice connectivity.

To facilitate providing the subscriber-level connectivity at the servicetype (e.g., service level), the data service provider 130 can include anaccounts dataset 132 with information pertaining to an account of thedevice 110 and/or other accounts of other devices. The accounts data set132 may comprise, for example, a database that includes informationabout the account of the device 110 and/or other devices that areconfigured to receive subscriber-level connectivity to the network 140via the data service provider 130. In some examples, the account dataset132 can include more than one database. For example, the account dataset132 can have a first database with information pertaining to the accountof device 110 and a second data base with information pertaining to anaccount of another device. In some examples, the accounts dataset 132can be included in one or more physical memories. For example, theaccounts dataset 132 can be on one server or on multiple servers (e.g.,cloud of servers). In this example, the data service provider 130 can beconfigured to obtain information in the account of the device 110 fromthe accounts dataset 132.

The account of the device 110 in the accounts dataset 132 can includevarious information such as status of the account (e.g., activated,deactivated, etc.), service type associated with the account (e.g.,maximum bit rate of data connection, amount of data available to device110, etc.), and/or other user information (e.g., user name, etc.). Byhaving the account with the data service provider 130, the device 110can receive access to the network 140 at the authorized service typewhen the account is activated.

The network 140 may comprise a transport network (e.g., internet, localarea network, wide area network, cellular network, broadband network,etc.) that the device 110 can be configured to communicate through. Insome examples, the network 140 may comprise a public switched telephonenetwork (PSTN), a packet-switched network (e.g., internet), or any othernetwork that provides subscriber-level connectivity between the device110 and one or more electronic devices connected to the network 140.

The system 100 can optionally include the server 150. The server 150 maycomprise a remote server (e.g., computing device, cloud computingsystem, etc.) accessible to the device 110. In some examples the server150 can be accessible to the device 110 via a network other than thenetwork 140. For example, the server 150 can be accessible over a WIFInetwork (not shown in FIG. 1) where the network 140 can be a cellularnetwork that does not include the WIFI network. In other examples, theserver 150 can be accessible via the network 140.

The system 100 can optionally include the SIM 160 configured to beremovably mounted to the device 110. In some examples, the SIM 160 canbe configured to include information similar to the memory 118. Forexample, the SIM 160 may include the profile 120, the configurationinstructions corresponding to the data service provider 130, and/orother information accessible to the device 110 (e.g., applications,saved data, etc.) when the SIM 160 is mounted to the device 110.

In some examples, the server 150 can be configured to store informationfor the device 110. Although illustrated that the profile 120 is storedin the memory 118, additionally or alternatively, in some examples, theprofile 120 can be stored on the server 150. For example, the platform122 can be configured to obtain the profile 120 from the server 150based on authentication information input via the input interface 114.For example, a user of the device 110 may enter the authenticationinformation (e.g., username and password), and the platform 122 canprovide the authentication information to the server 150 to receive theprofile 120.

The system 100, for example, may provide a native experience for a userof the device 110 to obtain subscriber-level connectivity to the network140 via the data service provider 130. The native experience can beprovided, for example, by allowing the user to interact with theplatform 122, and configure the platform 122 to perform allcommunication and provision of information to the data service provider130 to authorize access to the network 140 and/or activate the accountof the device 110 with the data service provider 130. As describedabove, the data service provider 130 may request the device 110 to havethe activated account with the data service provider 130 to receive thesubscriber-level connectivity to the network 140. For example, the dataservice provider 130 may allow limited connectivity (e.g., only forcommunication regarding submission of subscription information) untilactivating the account. In some examples, the data service provider 130may request subscription information to activate the account associatedwith the device 110. For example, the device 110 may not have theaccount with the data service provider 130 or the account of the device110 may be deactivated (e.g., for non-payment). In this example,provision of the subscription information may cause the data serviceprovider to create the account for the device 110 and/or activate theaccount. In some examples, the platform 122 can determine that thesubscription information is included in the profile 120. Thus, in theseexamples, the platform 122 can be configured to provide information fromthe profile 120 as the subscription information to the data serviceprovider 130 to receive the subscriber-level connectivity to the network140. In this case, the user will not need to input the informationrepetitively, once for the profile 120 and another time for the dataservice provider 130. Additionally, in this case, the user will onlyinput the information via the native platform 120 and not throughanother interface (e.g., webpage provided by the data service provider130). In an example where the data service provider 130 provides anotherinterface (e.g., billing webpage), the platform 122 can be configured toautomatically populate the interface provided by the data serviceprovider 130 with the information from the profile 120.

Below is an example scenario for the operation of the platform 122 inthe device 110 to receive the subscriber-level connectivity to thenetwork 140 from the data service provider 130. In this scenario, thedevice 110 may comprise a wireless device such as a smartphone ortablet, and the data service provider 130 may comprise a carrier such asa wireless cellular carrier.

In this scenario, the platform 122 can be configured to determine theprofile 120. For example, the profile 120 can be created based on inputduring setup of the device 110 or by receiving the profile 120 from theserver 150 as described above. In some examples, obtaining the profilefrom the server 150 can happen during activation of the account with thedata service provider 130.

In this scenario, the platform 122 can also be configured to determinethe data service provider 130 based on configuration instructions in thememory 118. In some examples, the configuration instructions identifyingthe data service provider 130 as a provider accessible to the device 110can be included in the SIM 160. In this example, the SIM 160 maycomprise a warm SIM that provides information allowing the device 110 toaccess the carrier website via the network 140 (e.g., access the dataservice provider 130 billing webpage). In other examples, theconfiguration instructions can be in the memory 118 comprising physicalmemory in the device 110 (e.g., RAM, etc.) as described above in thedescription of the memory 118.

In some examples, the platform 122 can be configured to attempt toreceive subscriber-level connectivity to the network 140 via the dataservice provider 130 via the communication signal 102. For example, thedata service provider 130 may provide limited connectivity to the device110 for provision of subscription information to activate the account,and provide the subscriber-level connectivity once the account isactivated. In some examples, the data service provider 130 may authorizethe subscriber-level connectivity to the network 140 if the device 110has the activated account with the data service provider 130. However,in this scenario, the data service provider 130 may respond with arequest for subscription information from the device 110 to activate theaccount. For example, the device 110 may be a new device that does nothave an account with the data service provider 130 or the account may bedeactivated (e.g., for non-payment).

Rather than direct the user of the device 110 to a website of thecarrier (e.g., as instructed by the configuration instructions in thewarm SIM 160), in the system 100, the platform 122 can be configured,for example, to determine that the subscription information requested bythe data service provider 130 is included in the determined profile 120associated with the device 110. Thus, in some examples, the platform 122can be configured to provide information from the profile 120 as thesubscription information to the data service provider 130. In thisscenario, the data service provider 130 may activate the account of thedevice 110 due to the provision of the subscription information, andthus, the device 110 may receive the subscriber-level connectivity tothe network 140.

In some examples, the platform 122 can be configured to provide thesubscription information to the data service provider 130 afterreceiving authorization input from the user of the device 110. Forexample, the data service provider 130 may request sensitive informationsuch as payment information and/or identity information, and theplatform 122 may request the authorization input from the user of thedevice 110 to authorize the provision of the sensitive information tothe data service provider 130.

In some examples where the profile 120 is included in the server 150(not shown in FIG. 1), the platform 122 can be configured to provideinstructions to the server 150 that cause the server 150 to provide thesubscription information to the data service provider 130. For example,the server 150, when instructed by the platform 122, may communicatedirectly with the data service provider 130 and provide the subscriptioninformation based on information from the profile 120.

In some examples, the device 110 can be configured to receive, via theinput interface 114, selection input indicative of a selected servicetype pertaining to the network 140. For example, the selection input maycorrespond to a maximum bit rate of data connectivity, bandwidthselection, amount of data, quality of voice calls, etc. In theseexamples, the platform 122 can be configured to provide the selectedservice type along with the information from the profile 120 as thesubscription information to the data service provider 130. Thus, inthese examples, the data service provider 130 may provide thesubscriber-level connectivity to the network 140 having the selectedservice type.

In some examples, the data service provider 130 may request the platform122 to obtain a configuration package of the data service provider 130.For example, in this scenario, the request may include a name of acarrier software package or application (“configuration package”) thatincludes operating instructions for the platform 122 to communicate overthe network 140 provided by the carrier. The operating instructions, forexample, may include a communication protocol (e.g., FTP, UTP, customprotocol, encryption protocol, packet format, etc.) specific forcommunication between the platform 122 and the data service provider130. In these examples, the platform 122 can be configured to obtain theconfiguration package based on receiving the request. In some examples,the configuration package can be included in the memory 118 (e.g.,physical memory of phone, the SIM 160 when mounted to the device 110,etc.). Thus, in these examples, the device 110 can be configured toobtain the configuration package from the memory 118. In other examples,the platform 122 can be configured to obtain the configuration packagevia the network 140. For example, the data service provider can allowthe device 110 to access a server (such as server 150) or other datastorage medium accessible via the network 140 to obtain theconfiguration package. In yet other examples, the device 110 can beconfigured to have access to a second network (e.g., WIFI network,Bluetooth network, Local Area Network, etc.) other than the network 140and configured to obtain the configuration package via the secondnetwork.

Some embodiments of the system 100 therefore provide the nativeexperience to the user of the device 110 by performing communicationwith the data service provider 130 without invoking an interface of thedata service provider (e.g., web page, etc.). In some examples, futurecommunication (e.g., after activating account) between the device 110and the data service provider 130 can be performed via the nativeinterface of the platform 122. For example, the platform 122 can beconfigured to provide reminders to the user of the device 110 when apayment is due or provide an interface for the user of the device 110 toupdate and/or adjust the service type of the account with the dataservice provider 130.

It is noted that the block diagram shown in FIG. 1 is described inconnection with functional modules for convenience in description. Forexample, while the functional block in FIG. 1 shown as the profile 120can be included in the memory 118, the profile 120 does not necessarilyneed to be implemented as being physically present on the memory 118 butcan be present in another memory included in the device 110, included ina second device (not shown in FIG. 1), or in the server 150. In someexamples, embodiments of the device 110 can be arranged with one or moreof the functional modules (“subsystems”) implemented in a single chip,integrated circuit, and/or physical component.

FIG. 2 is a block diagram of an example system 200 including a device210 configured to receive access to one or more networks via one or moredata service providers. Device 210 included in the system 200 can besimilar to the device 110 described in system 100. For example, thedevice 210 may comprise a communication interface 212, an inputinterface 214, a processor 216, and a memory 218 similar to,respectively, the communication interface 112, input interface 114,processor 116, and memory 118 described in the system 100. Similarly,the platform 222 can be configured to execute instructions via theprocessor 216 to operate the device 210 similarly to the platform 122 inthe system 100.

In some examples, the device 210 can be configured to receiveconnectivity to one or more networks, such as a first network 244, asecond network 246, and/or a third network 248 via, respectively,communication signals 204-208. The communication signals 204-208 can besimilar to the communication signal 102 described in the system 100(e.g., wireless, wired, etc.). The first network 244 and the secondnetwork 246 can be similar to the network 140 described in the system200. For example, connectivity to the first network 244 and/or thesecond network 246 can be controlled, respectively, by first dataservice provider 234 and/or second data service provider 236. In someexamples, the function and operation of the first data service provider234 and the second data service provider 236 can be similar to thefunction and operation of the data service provider 130 described in thesystem 100. For example, the first data service provider 234 may providelimited connectivity to the device 210 for submission of information toactivate an account, and then provide subscriber-level connectivity whenthe account is activated. The third network 248 can be a networkaccessible by the device 210 without a data service provider, such as aWIFI network, local area network (LAN), wide area network (WAN), or anyother network accessible via the communication interface 212.

The memory 218 can include, for example, a profile 220 and a platform222 similar, respectively, to the profile 120 and the platform 122described in the system 100. However, in some examples, the platform 222can be configured to communicate via a first application programminginterface (API) 224 and/or a second API 226 through the communicationinterface 212 to interact, respectively, with the first data serviceprovider 234 and/or the second data service provider 236.

In some examples, the first API 224 may comprise an application separatefrom the platform 222 configured to interface through the communicationinterface 212 with the first data service provider 234. For example, thefirst API 224 may comprise a back-end API that receives instructions andinformation from the platform 222 or any other application andfacilitates the communication of the instructions and information to thefirst data service provider 234. Similarly, the second API 226 can beconfigured to facilitate communication with the second data serviceprovider 236. Thus, in some examples, the first API 224 and the secondAPI 226 may comprise separate applications configured to relaycommunication from the platform 222 (or any other application),respectively, to the first data service provider 234 and the second dataservice provider 236.

As noted above, the device 210 can be configured to receive connectivityto one or more networks via one or more data service providers. In someexamples, the memory 218 includes configuration instructionscorresponding to a plurality of data service providers. For example, thedevice 210 may detect that the first data service provider 234 and thesecond data service provider 236 are available data service providersfor the device 210 to receive connectivity, respectively, to the firstnetwork 244 and/or the second network 246. In an example where thedevice 210 is a mobile device (e.g., mobile phone, tablet, etc.) and thefirst and second data service providers 234-236 are cellular networkproviders, in some examples, the device 210 can be configured to receivea selection input of one of the data service providers 234-236 toattempt receiving subscriber-level connectivity from. In this example, auser of the device 210 may select one of the first data service provider234 or the second data service provider 236 to receive data connectivityfrom (e.g., the device 210 may comprise an “unlocked” mobile device). Inthese examples, the device 210 can be configured to determine the dataservice provider to communicate through based on the input selection.

Similarly to the device 110 of the system 100, in some examples, thedevice 210 can be configured to obtain a configuration package of thefirst data service provider 234 and/or the second data service provider236 based on a request from the corresponding data service provider. Insome examples, the configuration package may include operatinginstructions for the platform 222 to communicate with the correspondingdata service provider (e.g., carrier/platform specific softwarepackage). Additionally or alternatively, in some examples, the device210 can be provided with the first API 224 and/or the second API 226that include the operating instructions included in the configurationpackage. For example, during manufacture and/or setup of the device 210,the device 210 may be provided with one or more APIs (e.g., first API224 and second API 226) that include the operating instructions for aplurality of data service providers (e.g., first data service provider234 and second data service provider 236). Thus, in this example, a userof the device 210 can interact with the native platform 222 to provideinformation such as information in the profile 220 and select one ormore of the first and second data service providers 234-236 to receiveconnectivity from. Further, in some examples, the backend adapters(e.g., first and second APIs 224-226) can be configured to performcommunication with the corresponding data service providers forfunctions such as provision of subscription information from informationin the profile 220 and activation of an account as described in thesystem 100, based on the selections of the user. Thus, in some examples,the first and second APIs 224-226 provide an alternative mechanism forprovision of subscription information and account management with dataservice providers in addition to mechanisms described earlier, such asvia server 150 and/or platform 122 of the system 100. Further, in someexamples, the platform 222 can be configured to provide information fromthe profile 220 and instructions to the first and/or second APIs 224-226to perform the provision of subscription information and/or activationof the account. In this case, the first and/or second APIs 224-226 canbe configured to communicate, respectively, with the first and/or seconddata service providers 234-236 based on the instructions and informationreceived from the platform 222.

In examples where the configuration package is obtained based on arequest from the first and/or second data service providers 234-236, thethird network 248 can be utilized via the communication interface 212 toobtain the configuration package. For example, the third network 248 maycomprise an internet connection to a server that includes theconfiguration package of one or more of the data service providers234-236. In this example, the platform 222 can be configured to receivethe configuration package from the server via the third network 248.Further, in this case, the provision of subscription information toactivate the account and receiving subscriber-level connectivity to thefirst and/or second networks 244-246 may be performed, for example, bythe platform 222 based on the configuration package received via thethird network 248. For example, the third network 248 may comprise aWIFI network that the platform 222 utilizes to receive the configurationpackage of the first data service provider 234 to setup subscriber-levelconnectivity to the first network 244 (e.g., broadband network) providedby the first data service provider 234.

Additionally or alternatively, although not illustrated in FIG. 2, insome examples, a plurality of configuration packages can be included inthe memory 218 corresponding to a plurality of data service providers,such as the first and second data service providers 234-236. In theseexamples, the platform 222 can be configured to determine a particularconfiguration package of the plurality of configuration packagescorresponding to the data service provider selected by the user of thedevice 210. For example, the user of the device 210 may select thesecond data service provider 236, and the platform 222 can be configuredto provide the particular configuration package from the memory 218 thatcorresponds to the second data service provider 236 as the configurationpackage of the second data service provider 236. Thus, these examplesprovide another alternative mechanism to obtain the configurationpackage, such as when a plurality of configuration packages is providedin the memory 218 during manufacture and/or setup of the device 218. Insome examples, the plurality of configuration packages can be providedin a SIM removably mounted to the device 210 along with configurationinstructions for the corresponding data service providers (e.g., list ofdata service providers 234-236 accessible by the device 210), and theplatform 222 can be configured to obtain the corresponding configurationpackage from the SIM.

Some embodiments of the system 200 therefore provide methods forreceiving subscriber-level connectivity to one or more networks via oneor more data service providers while maintaining a native experience forthe user of the device 210. For example, subscription information andaccount management can be performed by the native platform 222 (or aserver similar to server 150 of the system 100) on behalf of the user ofthe device 210 using information from the profile 220 withoutre-entering such information in a data service provider specificinterface (e.g., webpage, warm SIM provided interface, etc.).Additionally or alternatively, in some examples, the system 200 providesmethods for obtaining configuration packages of the data serviceproviders (e.g., carrier specific code for interaction with the dataservice providers 234-236) including receiving the configurationpackages from memory 218, via the third network 248, and/or via thefirst and second networks 244-246 provided by the first and second dataservice providers 234-236. Additionally or alternatively, in someexamples, the system 200 provides methods for communication with dataservice providers using separate APIs such as the first and second APIs224-226.

FIG. 3 is a block diagram of an example method 300 for operating anexample device to setup connectivity to a network provided by a dataservice provider, in accordance with at least some embodiments describedherein. Method 300 shown in FIG. 3 presents an embodiment of a methodthat could be performed by the device 110 or the device 210 included,respectively, in the systems 100 or 200, for example. Method 300 mayinclude one or more operations, functions, or actions as illustrated byone or more of blocks 302-312. Although the blocks are illustrated in asequential order, these blocks may in some instances be performed inparallel, and/or in a different order than those described herein. Also,the various blocks may be combined into fewer blocks, divided intoadditional blocks, and/or removed based upon the desired implementation.

In addition, for the method 300 and other processes and methodsdisclosed herein, the flowchart shows functionality and operation of onepossible implementation of present embodiments. In this regard, eachblock may represent a module, a segment, a portion of a manufacturing oroperation process, or a portion of program code, which includes one ormore instructions executable by a processor for implementing specificlogical functions or steps in the process. The program code may bestored on any type of computer readable medium, for example, such as astorage device including a disk or hard drive. The computer readablemedium may include non-transitory computer readable medium, for example,such as computer-readable media that stores data for short periods oftime like register memory, processor cache and Random Access Memory(RAM). The computer readable medium may also include non-transitorymedia, such as secondary or persistent long term storage, like read onlymemory (ROM), optical or magnetic disks, compact-disc read only memory(CD-ROM), for example. The computer readable media may also be any othervolatile or non-volatile storage systems. The computer readable mediummay be considered a computer readable storage medium, for example, or atangible storage device.

In addition, for the method 300 and other processes and methodsdisclosed herein, each block in FIG. 3 may represent circuitry that iswired to perform the specific logical functions in the process.

At block 302, the method 300 includes determining a profile associatedwith a device by a platform configured to operate the device.

In one example, the device can be a smartphone configured to connect toa network of a given carrier (e.g., the data service provider). Thedevice can have a profile stored thereon with information about a userof the device. For example, the user may have entered information in thepast (e.g., personal information, payment information, etc.) via theplatform for use in an application (e.g., email application, phonebookapplication, etc.). Further, the platform can be configured to storethis information for later use in the profile (e.g., the platformconfigured to determine the profile).

At block 304, the method 300 includes determining a data serviceprovider based on configuration instructions included in a memoryaccessible by the platform. The device can be configured to communicatevia a network provided by the data service provider based on the devicebeing associated with an activated account with the data serviceprovider. Activation of the account with the data service providerauthorizes the device to receive subscriber-level connectivity to thenetwork.

In this example, the device can be configured to determine the dataservice provider (e.g., the given carrier) based on configurationinstructions in a memory of the device (e.g., the device can includeinstructions provided by the carrier and/or manufacturer of the deviceto connect to the carrier's network). Additionally or alternatively, insome examples, the memory can include configuration instructions forreceiving network connectivity through a plurality of carriers, and theuser can select the data service provider from the plurality ofcarriers. In this example, the data service provider may providesubscriber-level connectivity to the network if the device has anactivated account with the data service provider (e.g., the user issubscribed to a data plan or a voice plan with the carrier).

At block 306, the method 300 includes receiving a request from the dataservice provider by the platform for subscription information toactivate the account associated with the device.

In this example, the platform can be configured to attempt to connect tothe data service provider's network, and in response, receive a requestfrom the data service provider for subscription information to activatethe account associated with the device. For example, the user of thedevice may not have the account (e.g., data plan, voice plan, etc.) withthe data service provider or the account may be deactivated (e.g., fornon-payment, etc.).

At block 308, the method 300 includes determining that the subscriptioninformation requested by the data service provider is included in thedetermined profile associated with the device.

For example, the profile may include the payment information and/or thepersonal information described in block 302. Additionally oralternatively, in some examples, the platform can be configured to pollthe user of the device to authorize the platform to provide theinformation in the profile to the data service provider.

At block 310, the method 300 includes providing information from theprofile to the data service provider as the subscription information inresponse to determining that the subscription information is included inthe profile.

For example, the platform can provide the subscription information overthe network provided by the data service provider or provideinstructions to a server (e.g., online store) to provide the informationto the data service provider.

At block 312, the method 300 includes receiving the subscriber-levelconnectivity to the network based on the device being associated withthe activated account with the data service provider.

For example, the data service provider may activate the account of theuser of the device (e.g., activate the voice plan or data plan of theuser) in response to receiving the subscription information, and thus,provide the subscriber-level connectivity to the network.

FIG. 4 is a block diagram of an example method 400 for setup of anexample device to determine a profile, and activation of an account witha data service provider using information from the determined profile toreceive connectivity to a network provided by the data service provider,in accordance with at least some embodiments described herein. Method400 shown in FIG. 4 presents an embodiment of a method that could beperformed by the device 110 or the device 210 included, respectively, inthe systems 100 or 200, for example. Method 400 may include one or moreoperations, functions, or actions as illustrated by one or more ofblocks 402-414. Although the blocks are illustrated in a sequentialorder, these blocks may in some instances be performed in parallel,and/or in a different order than those described herein. Also, thevarious blocks may be combined into fewer blocks, divided intoadditional blocks, and/or removed based upon the desired implementation.

At block 402, the method 400 includes receiving input indicative ofinformation to be included in a profile associated with a device duringsetup of the device.

In an example scenario for the method 400, a user acquires a tablet(e.g., “the device”) that includes a platform configured to operate thetablet to execute applications (e.g., email application, cameraapplication, etc.) and receive subscriber-level connectivity to one ormore networks (e.g., packet-switched network, public-switched transportnetwork, etc.). During setup of the device, the platform can beconfigured to receive input (e.g., the tablet can launch a setup wizardto collect the input) indicative of information to be included in aprofile associated with the device. For example, the user of the tabletmay setup an online store that allows the user to buy applications(e.g., bookstore application, etc.) for the device, and setting up anonline store account may include providing information (e.g., creditcard information, legal name, address, etc.) that, in some examples, maybe included in the profile.

At block 404, the method 400 includes storing the profile including thereceived information in a memory accessible by a platform configured tooperate the device based on the received input.

For example, the user of the device may instruct the platform to savethe information collected during setup of the device in the profile forfuture use, or the platform may be configured to automatically save theinformation in the profile, for example, in the online store account. Insome examples, the memory may comprise a physical memory included in thedevice (e.g., Random Access Memory, Flash Memory, etc.). In otherexamples, the memory may comprise a removably mounted memory (e.g.,Subscriber Identity Module, USB Drive, etc.). In yet other examples, thememory may comprise a data storage (e.g., hard drive, solid statememory, etc.) in the device or in a remote server accessible by thedevice (e.g., via Internet connection).

At block 406, the method 400 includes determining a data serviceprovider. The device can be configured to communicate via a networkprovided by the data service provider based on the device beingassociated with an activated account with the data service provider.

In some examples, the user of the device may have also acquired a warmSubscriber Identity module (SIM) that includes configurationinstructions that identify a data service provider as an accessibleprovider for the device to receive subscriber-level connectivity to anetwork of the one or more networks (e.g., a broadband data network suchas a 3G or 4G network, a voice calling network, etc.). A warm SIM canbe, for example, a SIM that includes instructions for the data serviceprovider to whitelist access to specific portions of the network even ifthe device does not have an activated account with the data serviceprovider (e.g., by issuing a captive portal redirect from carrierpointing to carrier billing website). Rather than directing the user ofthe device to the specific portion (e.g., carrier billing website), inthis example, the platform can be configured to determine the dataservice provider based on the configuration instructions.

At block 408, the method 400 includes receiving a request from the dataservice provider by the platform for subscription information toactivate the account associated with the device.

In this example, the platform can be configured to attempt to access thenetwork through the data service provider. For example, in thisscenario, the tablet can attempt to connect to the internet via thenetwork of the data service provider. Thus, in this example, theplatform may receive a request from the data service provider forsubscription information to activate the account of the device with thedata service provider in order to receive the subscriber-levelconnectivity to the network. For example, in this scenario, the carriermay intercept the attempt from the tablet having an unpaid warm SIM, andissue the captive portal redirect to the carrier's billing website, andthe platform can determine the request for the subscription informationbased on the captive portal redirect. Additionally or alternatively, insome examples, the carrier may include a software package name (e.g.,“configuration package of the data service provider”), where thesoftware package includes operating instructions for the platform tocommunicate over the network (e.g., communication protocol of thecarrier, etc.). Thus, in some examples, the platform can be configuredto determine the request and/or the configuration package by parsing thesoftware package name from the request of the data service provider.Further, in these examples, the platform can be configured to obtain theconfiguration package of the data service provider. For example, in thisscenario, the setup wizard of the tablet can optionally download thesoftware package via the network of the data service provider, anothernetwork (e.g., WIFI network) accessible by the platform, or from thememory included in the device.

At block 410, the method 400 includes obtaining the stored profile fromthe memory during activation of the account with the data serviceprovider in response to receiving the request from the data serviceprovider.

For example, the platform may begin activation of the account with thedata service provider due to receiving the request for subscriptioninformation from the data service provider, receiving input from theuser of the device requesting activation of the account and installationof the configuration package, and/or based on the configurationinstructions in the memory (e.g., instructions to activate the accountat the conclusion of setup of the device). In these examples, the devicecan be further configured to obtain the stored profile from the memoryto facilitate the activation of the account. For example, the user ofthe device may indicate to the platform to use information from theprofile to complete the activation process, or the device may determinethat information from the platform can be used to complete theactivation process.

At block 412, the method 400 includes determining that the subscriptioninformation requested by the data service provider is included in theobtained profile.

For example, the platform may determine that payment information in therequested subscription information has been previously entered by theuser of the device when setting up the online store in block 402.

At block 414, the method 400 includes providing information from theprofile to the data service provider as the subscription information inresponse to determining that the subscription information is included inthe profile.

For example, the platform can be configured to utilize public APIs tosubmit the information from the profile to the data service providerwithout having the user of the device repetitively enter the informationthat is in the profile. In some examples, the platform can be configuredto provide the information from the profile to the data service providerafter receiving authorization from the user of the device to provide theinformation. In some examples, the user may also select a service typeto include in the subscription information provided to the data serviceprovider. For example, the user of the tablet can select an amount ofdata to purchase from the data service provider, and the profile can beconfigured to provide the selected amount (“selected service type”)along with the information from the profile as the subscriptioninformation to the data service provider.

Additionally, in some examples, the provision of the subscriptioninformation to the data service provider can cause the data serviceprovider to activate the account of the device, and, thus, the devicecan receive the subscriber-level connectivity to the network.

Thus, the method 400 and other methods and systems presented in thisdisclosure, provide a native experience, via the platform of the device,to setup the activated account for subscriber-level connectivity to thenetwork provided by the data service provider. Such native experiencecan include, for example, a single interface (e.g., the platform) forentering information once into the profile, and without the use of aninterface provided by the data service provider provisioningsubscription information and/or account management instructions to thedata service provider by the platform using information from theexisting profile.

FIG. 5 is a block diagram of an example method 500 for operating anexample device to setup connectivity to a network provided by a dataservice provider by providing instructions to a server that cause theserver to provide subscription information to the data service provider,in accordance with at least some embodiments described herein. Method500 shown in FIG. 5 presents an embodiment of a method that could beperformed by the device 110 or the device 210 included, respectively, inthe systems 100 or 200, for example. Method 500 may include one or moreoperations, functions, or actions as illustrated by one or more ofblocks 502-512. Although the blocks are illustrated in a sequentialorder, these blocks may in some instances be performed in parallel,and/or in a different order than those described herein. Also, thevarious blocks may be combined into fewer blocks, divided intoadditional blocks, and/or removed based upon the desired implementation.

At block 502, the method 500 includes determining a profile associatedwith a device by a platform configured to operate the device. Theprofile can be included in a server accessible by the platform.

For example, the user of a device (e.g., smartphone) can have a profile(e.g., account) with an online store in a remote server (e.g.,accessible via internet) such as online stores used to buy and downloadapplications that run on the smartphone. In this example, a platformconfigured to operate the device can also be configured, for example, toprovide the server having the profile with authentication information toidentify and obtain access to the profile associated with the device.

At block 504, the method 500 includes determining a data serviceprovider based on configuration instructions included in a memoryaccessible by the platform. The device can be configured to communicatevia a network provided by the data service provider based on the devicebeing associated with an activated account with the data serviceprovider. Activation of the account with the data service providerauthorizes the device to receive subscriber-level connectivity to thenetwork.

For example, the device can be configured to receive subscriber-levelconnectivity to a network provided by a data service provider (e.g.,broadband data access in a cellular network) when the device has anactivated account with the data service provider. For example, beforehaving the activated account, the data service provider may allow thedevice limited connectivity only for submission of information toactivate the account. In this example, the platform can be configured todetermine the data service provider based on configuration instructionsin the memory of the device (e.g., the memory can include a list ofavailable data service providers).

At block 506, the method 500 includes receiving a request from the dataservice provider by the platform for subscription information toactivate the account associated with the device.

For example, the user of the device may not have an established accountwith the data service provider, or the account may be deactivated.

At block 508, the method 500 includes determining that the subscriptioninformation requested by the data service provider is included in thedetermined profile associated with the device.

At block 510, the method 500 includes providing instructions to theserver that cause the server to provide information from the profile tothe data service provider as the subscription information in response todetermining that the subscription information is included in theprofile.

At block 512, the method 500 includes receiving the subscriber-levelconnectivity to the network based on the device being associated withthe activated account with the data service provider.

For example, where the profile is in the server of the online store, theplatform can be configured to provide information (e.g., username,password, payment amount, etc.) and instructions to the server toprovide the information from the profile to the data service provider asthe subscription information. Thus, in this example, the data serviceprovider may activate the account of the device, and the device can beconfigured to receive subscriber-level connectivity to the network basedon having the activated account.

FIG. 6 is a block diagram of an example method 600 for operating anexample device to setup connectivity to a network provided by a dataservice provider and obtain a configuration package of the data serviceprovider, in accordance with at least some embodiments described herein.Method 600 shown in FIG. 6 presents an embodiment of a method that couldbe performed by the device 110 or the device 210 included, respectively,in the systems 100 or 200, for example. Method 600 may include one ormore operations, functions, or actions as illustrated by one or more ofblocks 602-612. Although the blocks are illustrated in a sequentialorder, these blocks may in some instances be performed in parallel,and/or in a different order than those described herein. Also, thevarious blocks may be combined into fewer blocks, divided intoadditional blocks, and/or removed based upon the desired implementation.

At block 602, the method 600 includes determining, by a platformconfigured to operate a device, a profile associated with the device.

For example, a device may comprise a personal digital assistant (PDA)that includes the profile with information about the user of the PDA(e.g., identity information, address, payment information,authentication information, etc.).

At block 604, the method 600 includes determining a data serviceprovider, wherein the device is configured to communicate via a networkprovided by the data service provider based on the device beingassociated with an activated account with the data service provider.

For example, the data service provider may comprise a gateway in apublic network configured to provide access to the network if the devicehas an activated account with the gateway.

At block 606, the method 600 includes receiving, by the platform, arequest from the data service provider for subscription information toactivate the account associated with the device, and for the platform toobtain a configuration package of the data service provider, wherein theconfiguration package includes operating instructions for the platformto communicate over the network.

For example, the gateway may have a software package that includesoperating instructions for the device to communicate with the gatewayand/or the network provided through the gateway.

At block 608, the method 600 includes obtaining, by the platform, theconfiguration package.

For example, the platform may obtain the configuration package from thegateway, from a network other than the network of the data serviceprovider, from the memory of the device, or from a remote serveraccessible by the platform.

At block 610, the method 600 includes determining that the subscriptioninformation requested by the data service provider is included in theprofile.

At block 612, the method 600 includes, responsive to determining thatthe subscription information is included in the profile, providing,based on the operating instructions in the obtained configurationpackage, information from the profile to the data service provider.

For example, the profile may include payment information requested bythe gateway to create the activated account, or activate a deactivatedaccount of the device. Responsive to the determination, in this example,the platform can further be configured to provide information from theprofile (e.g., the payment information) based on the operatinginstructions in the configuration package, to the data service provideras the subscription information. For example, the operating instructionsmay instruct the platform to provide the subscription information usinga specific communication protocol (e.g., FTP, UDP, etc.) and/orencryption code.

FIG. 7 depicts an example computer-readable medium configured accordingto at least some embodiments described herein. In example embodiments,the example system can include one or more processors, one or more formsof memory, one or more input devices/interfaces, one or more outputdevices/interfaces, and machine readable instructions that when executedby the one or more processors cause the system to carry out the variousfunctions tasks, capabilities, etc., described above.

As noted above, in some embodiments, the disclosed techniques (e.g.methods 300, 400, 500, and 600) can be implemented by computer programinstructions encoded on a computer readable storage media in amachine-readable format, or on other media or articles of manufacture(e.g., the instructions stored on the memory 118 of the device 110 ofthe system 100, or the instructions stored on the memory 218 of thedevice 210 of the system 200). FIG. 7 is a schematic illustrating aconceptual partial view of an example computer program product thatincludes a computer program for executing a computer process on acomputing device, arranged according to at least some embodimentsdisclosed herein.

In one embodiment, the example computer program product 700 is providedusing a signal bearing medium 702. The signal bearing medium 702 mayinclude one or more programming instructions 704 that, when executed byone or more processors may provide functionality or portions of thefunctionality described above with respect to FIGS. 1-6. In someexamples, the signal bearing medium 702 can be a computer-readablemedium 706, such as, but not limited to, a hard disk drive, a CompactDisc (CD), a Digital Video Disk (DVD), a digital tape, memory, etc. Insome implementations, the signal bearing medium 702 can be a computerrecordable medium 708, such as, but not limited to, memory, read/write(R/W) CDs, R/W DVDs, etc. In some implementations, the signal bearingmedium 702 can be a communication medium 710 (e.g., a fiber optic cable,a waveguide, a wired communications link, a wireless communication link,etc.). Thus, for example, the signal bearing medium 702 can be conveyedby a wireless form of the communications medium 710.

The one or more programming instructions 704 can be, for example,computer executable and/or logic implemented instructions. In someexamples, a computing device such as the processor-equipped devices 110and 210 of FIGS. 1 and 2 can be configured to provide variousoperations, functions, or actions in response to the programminginstructions 704 conveyed to the computing device by one or more of thecomputer readable medium 706, the computer recordable medium 708, and/orthe communications medium 710. In other examples, the computing devicecan be an external device such as a server or personal computer incommunication with a data service provider, such as the data serviceproviders 130, 234, and/or 236 of FIGS. 1 and 2.

The computer readable medium 706 can also be distributed among multipledata storage elements, which could be remotely located from each other.The computing device that executes some or all of the storedinstructions could be an external computer, or a mobile computingplatform, such as a smartphone, tablet device, personal computer,wearable device, etc. Alternatively, the computing device that executessome or all of the stored instructions could be remotely locatedcomputer system, such as a server. For example, the computer programproduct 700 can implement the functionalities discussed in thedescription of FIGS. 1-6.

Within examples, operation methods that are described for the discloseddevices can be applied to other devices that are configured to receivesubscriber-level connectivity to one or more networks provided by one ormore data service providers. For example, medical devices, specialpurpose computers, digital cameras, home appliances, and computerautomated vehicles can perform the functions described herein to receivesubscriber-level connectivity to the one or more networks provided bythe one or more data service providers. Thus, example methods hereinprovide a native platform for provision of subscription information andaccount management with any data service provider without a user havingto repetitively enter information that is in an existing profile.

It should be understood that arrangements described herein are forpurposes of example only. As such, those skilled in the art willappreciate that other arrangements and other elements (e.g. machines,interfaces, functions, orders, and groupings of functions, etc.) can beused instead, and some elements may be omitted altogether according tothe desired results. Further, many of the elements that are describedare functional entities that may be implemented as discrete ordistributed components or in conjunction with other components, in anysuitable combination and location, or other structural elementsdescribed as independent structures may be combined.

While various aspects and embodiments have been disclosed herein, otheraspects and embodiments will be apparent to those skilled in the art.The various aspects and embodiments disclosed herein are for purposes ofillustration and are not intended to be limiting, with the true scopebeing indicated by the following claims, along with the full scope ofequivalents to which such claims are entitled. It is also to beunderstood that the terminology used herein is for the purpose ofdescribing particular embodiments only, and is not intended to belimiting.

What is claimed is:
 1. A method comprising: during initial setup of anunactivated device, receiving, by a platform on the device configured tooperate the device, from a server accessible by the device via a firstnetwork, a profile including identification information identifying auser of the device; determining, based on configuration instructionsincluded in a memory accessible by the platform, a data serviceprovider, wherein the device is configured to communicate via a secondnetwork provided by the data service provider based on the device beingassociated with an activated account with the data service provider,wherein activation of the account with the data service providerauthorizes the device to receive subscriber-level connectivity to thesecond network; receiving, by the platform, a request from the dataservice provider for subscription information to activate the accountwith the data service provider, wherein the request is further for theplatform to obtain a configuration package of the data service provider,and wherein the configuration package includes operating instructionsfor the platform to communicate over the second network; determiningthat the subscription information requested by the data service provideris included in the profile received during the initial setup of thedevice; obtaining, by the platform, via the first network, theconfiguration package; responsive to determining that the subscriptioninformation is included in the profile received during the initial setupof the device, providing information from the profile to the dataservice provider as the subscription information based on the operatinginstructions in the obtained configuration package; and based on thedevice being associated with the activated account with the data serviceprovider, receiving the subscriber-level connectivity to the secondnetwork.
 2. The method of claim 1, wherein the memory includesconfiguration instructions corresponding to a plurality of data serviceproviders, wherein determining the data service provider comprises:receiving input indicative of a selection of a given data serviceprovider of the plurality of data service providers; and determining thedata service provider to be the given data service provider.
 3. Themethod of claim 1, further comprising: receiving input indicative ofauthentication information relating to the profile; providing theauthentication information to the server; and receiving the profileincluded in the server associated with the authentication information.4. The method of claim 1, wherein providing the subscription informationto the data service provider comprises: providing, to the server,instructions that cause the server to provide the information from theprofile in the server as the subscription information to the dataservice provider.
 5. The method of claim 1, wherein providing thesubscription information to the data service provider comprises:receiving, by the device, authorization input indicative of authorizingprovision of the subscription information included in the profile to thedata service provider; and responsive to receiving the authorizationinput, providing the information from the profile as the subscriptioninformation to the data service provider.
 6. The method of claim 1,further comprising: receiving, by the device, selection input indicativeof a selected service type pertaining to the network provided by thedata service provider; and responsive to receiving the selection input,providing the selected service type and the information from the profileas the subscription information to the data service provider.
 7. Themethod of claim 1, wherein the device includes an applicationprogramming interface configured to communicate with the data serviceprovider based on received instructions from the platform or any otherapplication in the device, wherein providing the subscriptioninformation comprises: providing, by the platform to the applicationprogramming interface, the information from the profile and theinstructions that cause the application programming interface tocommunicate with the data service provider; and based on the informationand the instructions provided by the platform, providing, by theapplication programming interface, the information provided by theplatform to the data service provider as the subscription information.8. The method of claim 1, wherein obtaining the configuration packagevia the first network is based on at least a determination that theconfiguration package is accessible to the device via the first network,and wherein the platform is configured to obtain the configurationpackage via the second network provided by the data service providerbased on at least a determination that the configuration package isaccessible to the device via the second network.
 9. The method of claim1, wherein obtaining the configuration package via the first network isbased on at least a determination that the memory accessible by theplatform does not include the configuration package, and whereinobtaining the configuration package comprises: based on at least adetermination that the configuration package is included in the memoryaccessible by the platform, receiving the configuration package from thememory.
 10. The method of claim 9, wherein the memory includes aplurality of configuration packages, and wherein receiving theconfiguration package from the memory comprises: determining, by theplatform based on information in the request, a particular configurationpackage of the plurality of configuration packages corresponding to thedata service provider; and providing the particular configurationpackage as the configuration package of the data service provider. 11.The method of claim 1, wherein the memory is included in a subscriberidentity module (SIM) configured to be removably included in the devicesuch that the memory is accessible by the platform when the SIM isincluded in the device.
 12. A device comprising: a network communicationinterface configured to provide connectivity to a first network, whereinthe network communication interface is configured to provideconnectivity to a second network provided by a data service providerbased on the device being associated with an activated account with thedata service provider, and wherein activation of the account with thedata service provider authorizes the device to receive subscriber-levelconnectivity to the second network; an input interface configured toreceive, during initial setup of the device, based on at least adetermination that the device is an unactivated device, input pertainingto a profile including identification information identifying a user ofthe device; one or more processors; and data storage configured to storeinstructions executable by the one or more processors to cause thedevice to: receive, from a server accessible by the device via the firstnetwork, the profile based on the input received at the input interfaceduring the initial setup of the device; determine the data serviceprovider based on configuration instructions included in the datastorage; receive a request from the data service provider forsubscription information to activate the account with the data serviceprovider, wherein the request is further for the device to obtain aconfiguration package of the data service provider, and wherein theconfiguration package includes operating instructions for the device tocommunicate over the second network; determine that the subscriptioninformation is included in the profile; obtain, via the first network,the configuration package; responsive to the determination that thesubscription information is included in the profile, provide informationfrom the profile to the data service provider as the subscriptioninformation based on the operating instructions in the obtainedconfiguration package; and receive, via the network communicationinterface, the subscriber-level connectivity to the second network basedon the device being associated with the activated account with the dataservice provider.
 13. The device of claim 12, wherein the networkcommunication interface is configured to receive the request for thesubscription information from the data service provider based on anaccount status inquiry provided via the network communication interfaceto the data service provider.
 14. A non-transitory computer readablemedium having stored therein instructions, that when executed by acomputing device, cause the computing device to perform functions, thefunctions comprising: during initial setup of the computing device,based on at least a determination that the computing device is anunactivated device, receiving, by a platform on the computing deviceconfigured to operate the computing device, from a server accessible bythe computing device via a first network, a profile includingidentification information identifying a user of the computing device;determining, based on configuration instructions included in a memoryaccessible by the platform, a data service provider, wherein thecomputing device is configured to communicate via a second networkprovided by the data service provider based on the computing devicebeing associated with an activated account with the data serviceprovider, wherein activation of the account with the data serviceprovider authorizes the computing device to receive subscriber-levelconnectivity to the second network; receiving, by the platform, arequest from the data service provider for subscription information toactivate the account with the data service provider, wherein the requestis further for the platform to obtain a configuration package of thedata service provider, and wherein the configuration package includesoperating instructions for the platform to communicate over the secondnetwork; determining that the subscription information requested by thedata service provider is included in the profile received during theinitial setup of the computing device; obtaining, by the platform, viathe first network, the configuration package; responsive to determiningthat the subscription information is included in the profile receivedduring the initial setup of the device, providing information from theprofile to the data service provider as the subscription information;and based on the computing device being associated with the activatedaccount with the data service provider, receiving the subscriber-levelconnectivity to the second network.
 15. The non-transitory computerreadable medium of claim 14, wherein receiving the profile comprises:receiving input indicative of authentication information relating to theprofile; providing the authentication information to the server; andreceiving the profile included in the server associated with theauthentication information.